Client users interact with information via user interfaces, such as menus of data items (e.g., buttons, tiles, icons and/or text) by which a client user may make a desired selection. For example, a client user may view a scrollable menu containing data items representing video content, such as movies or television shows, and interact with the menu items to select a movie or television show for viewing.
A lot of information may be made available to client users, and some of the information may be based upon relatively complex interrelationships. In a video selection-related example, in addition to a movie's title, a movie's associated data may include a rating, an image that represents the movie, a plot summary, cast and crew information, reviews and so on, which a user may wish to have. Indeed, a user may not simply want to find a movie and then play it, but instead may want to interact with a movie's data to find something else. For example, a client user may want to look up a particular actor who appeared in one movie and use that actor's information to find other movies in which the actor appeared. While a movie's main cast may be shown as text names to a requesting user, a more useful user interface may list the names of the various actors, each in the form of an interactive link to that actor's filmography or the like.
In general, client users want relatively large amounts of information from a data service, with the ability to interact over possibly complex interrelationships. However, the underlying data may reside in various data sources, and in general are not maintained in a way that corresponds to the structure and/or the complex interrelationships that clients may desire.